Synchronous Dynamic Random Access Memory (SDRAM) is a type of Random Access Memory (RAM) used in computing devices. SDRAM comprises both single data rate (SDR) SDRAM and double data rate (DDR) SDRAM. SDR SDRAM transfers data during each period of a timing signal in synchronization with a rising edge of the timing signal. By contrast, DDR SDRAM can achieve nearly twice the bandwidth of SDR SDRAM by transferring data on both rising and falling edges of a timing signal.
To transfer data from an SDRAM memory module to a memory controller, the memory controller initiates a read operation by issuing a read request to the SDRAM memory module. After a period of time has elapsed, the memory module responds by transmitting a data signal along with a timing signal (e.g., a DQ data signal and a DQS data strobe signal) to the memory controller. In some systems, the timing signal undergoes a filtering operation prior to receipt at the memory controller to eliminate signal noise. In response to receiving the timing signal, the memory controller reads the data signal and stores data by registering data on rising or falling edges of the timing signal.